<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:xl="http://www.w3.org/1999/xlink" version="1.1" xmlns="http://www.w3.org/2000/svg" viewBox="39.94 147.94 656.5 346" width="656.5" height="346">
  <defs>
    <filter id="Shadow" filterUnits="userSpaceOnUse" x="39.94" y="147.94">
      <feGaussianBlur in="SourceAlpha" result="blur" stdDeviation="2.616"/>
      <feOffset in="blur" result="offset" dx="1.44" dy="1.44"/>
      <feFlood flood-color="black" flood-opacity=".5" result="flood"/>
      <feComposite in="flood" in2="offset" operator="in" result="color"/>
      <feMerge>
        <feMergeNode in="color"/>
        <feMergeNode in="SourceGraphic"/>
      </feMerge>
    </filter>
    <linearGradient x1="0" x2="1" id="Gradient" gradientUnits="userSpaceOnUse">
      <stop offset="0" stop-color="#eee"/>
      <stop offset="1" stop-color="#afafaf"/>
    </linearGradient>
    <linearGradient id="Obj_Gradient" xl:href="#Gradient" gradientTransform="translate(342 153) rotate(90) scale(90)"/>
    <font-face font-family="Courier" font-size="12" units-per-em="1000" underline-position="-178.22266" underline-thickness="57.61719" slope="0" x-height="456.54297" cap-height="586.91406" ascent="753.90625" descent="-246.09375" font-weight="400">
      <font-face-src>
        <font-face-name name="Courier"/>
      </font-face-src>
    </font-face>
    <linearGradient id="Obj_Gradient_2" xl:href="#Gradient" gradientTransform="translate(135 274.5) rotate(90) scale(90)"/>
    <linearGradient id="Obj_Gradient_3" xl:href="#Gradient" gradientTransform="translate(342 274.5) rotate(90) scale(90)"/>
    <linearGradient id="Obj_Gradient_4" xl:href="#Gradient" gradientTransform="translate(342 396) rotate(90) scale(90)"/>
    <linearGradient id="Obj_Gradient_5" xl:href="#Gradient" gradientTransform="translate(135 396) rotate(90) scale(90)"/>
    <font-face font-family="Helvetica Neue" font-size="12" panose-1="2 0 5 3 0 0 0 2 0 4" units-per-em="1000" underline-position="-100" underline-thickness="50" slope="0" x-height="517" cap-height="714" ascent="951.9958" descent="-212.99744" font-weight="400">
      <font-face-src>
        <font-face-name name="HelveticaNeue"/>
      </font-face-src>
    </font-face>
    <linearGradient x1="0" x2="1" id="Gradient_2" gradientUnits="userSpaceOnUse">
      <stop offset="0" stop-color="#ff9691"/>
      <stop offset=".45238096" stop-color="#eb7e79"/>
      <stop offset="1" stop-color="#d56560"/>
    </linearGradient>
    <linearGradient id="Obj_Gradient_6" xl:href="#Gradient_2" gradientTransform="translate(471.00007 479.8125) rotate(-90) scale(27)"/>
    <linearGradient x1="0" x2="1" id="Gradient_3" gradientUnits="userSpaceOnUse">
      <stop offset="0" stop-color="#54ba6b"/>
      <stop offset=".45238096" stop-color="#6dd98a"/>
      <stop offset="1" stop-color="#84f8a8"/>
    </linearGradient>
    <linearGradient id="Obj_Gradient_7" xl:href="#Gradient_3" gradientTransform="translate(471.00007 402.1875) rotate(90) scale(27)"/>
    <marker orient="auto" overflow="visible" markerUnits="strokeWidth" id="Diamond_Marker" stroke-linejoin="miter" stroke-miterlimit="10" viewBox="-9 -4 10 8" markerWidth="10" markerHeight="8" color="black">
      <g>
        <path d="M -8 0 L -4 3 L 0 0 L -4 -3 Z" fill="none" stroke="currentColor" stroke-width="1"/>
      </g>
    </marker>
    <marker orient="auto" overflow="visible" markerUnits="strokeWidth" id="Arrow_Marker" stroke-linejoin="miter" stroke-miterlimit="10" viewBox="-9 -4 10 8" markerWidth="10" markerHeight="8" color="black">
      <g>
        <path d="M -8 0 L 0 3 L 0 -3 Z" fill="none" stroke="currentColor" stroke-width="1"/>
      </g>
    </marker>
    <marker orient="auto" overflow="visible" markerUnits="strokeWidth" id="FilledDiamond_Marker" stroke-linejoin="miter" stroke-miterlimit="10" viewBox="-1 -4 10 8" markerWidth="10" markerHeight="8" color="black">
      <g>
        <path d="M 8 0 L 4 -3 L 0 0 L 4 3 Z" fill="currentColor" stroke="currentColor" stroke-width="1"/>
      </g>
    </marker>
  </defs>
  <metadata> Produced by OmniGraffle 7.12.1 
    <dc:date>2020-02-02 19:58:23 +0000</dc:date>
  </metadata>
  <g id="Canvas_1" fill-opacity="1" fill="none" stroke="none" stroke-opacity="1" stroke-dasharray="none">
    <title>Canvas 1</title>
    <g id="Canvas_1: Layer 1">
      <title>Layer 1</title>
      <g id="Graphic_2" filter="url(#Shadow)">
        <path d="M 261 153 L 423 153 C 427.97056 153 432 157.02944 432 162 L 432 234 C 432 238.97056 427.97056 243 423 243 L 261 243 C 256.02944 243 252 238.97056 252 234 L 252 162 C 252 157.02944 256.02944 153 261 153 Z" fill="url(#Obj_Gradient)"/>
        <path d="M 261 153 L 423 153 C 427.97056 153 432 157.02944 432 162 L 432 234 C 432 238.97056 427.97056 243 423 243 L 261 243 C 256.02944 243 252 238.97056 252 234 L 252 162 C 252 157.02944 256.02944 153 261 153 Z" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
        <text transform="translate(257 191)" fill="black">
          <tspan font-family="Courier" font-size="12" font-weight="400" fill="black" x="45.393555" y="11">LinkManager</tspan>
        </text>
      </g>
      <g id="Graphic_6" filter="url(#Shadow)">
        <path d="M 54 274.5 L 216 274.5 C 220.97056 274.5 225 278.52944 225 283.5 L 225 355.5 C 225 360.47056 220.97056 364.5 216 364.5 L 54 364.5 C 49.02944 364.5 45 360.47056 45 355.5 L 45 283.5 C 45 278.52944 49.02944 274.5 54 274.5 Z" fill="url(#Obj_Gradient_2)"/>
        <path d="M 54 274.5 L 216 274.5 C 220.97056 274.5 225 278.52944 225 283.5 L 225 355.5 C 225 360.47056 220.97056 364.5 216 364.5 L 54 364.5 C 49.02944 364.5 45 360.47056 45 355.5 L 45 283.5 C 45 278.52944 49.02944 274.5 54 274.5 Z" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
        <text transform="translate(50 312.5)" fill="black">
          <tspan font-family="Courier" font-size="12" font-weight="400" fill="black" x="23.79004" y="11">LinkConfiguration</tspan>
        </text>
      </g>
      <g id="Graphic_9" filter="url(#Shadow)">
        <path d="M 261 274.5 L 423 274.5 C 427.97056 274.5 432 278.52944 432 283.5 L 432 355.5 C 432 360.47056 427.97056 364.5 423 364.5 L 261 364.5 C 256.02944 364.5 252 360.47056 252 355.5 L 252 283.5 C 252 278.52944 256.02944 274.5 261 274.5 Z" fill="url(#Obj_Gradient_3)"/>
        <path d="M 261 274.5 L 423 274.5 C 427.97056 274.5 432 278.52944 432 283.5 L 432 355.5 C 432 360.47056 427.97056 364.5 423 364.5 L 261 364.5 C 256.02944 364.5 252 360.47056 252 355.5 L 252 283.5 C 252 278.52944 256.02944 274.5 261 274.5 Z" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
        <text transform="translate(257 312.5)" fill="black">
          <tspan font-family="Courier" font-size="12" font-weight="400" fill="black" x="38.192383" y="11">LinkInterface</tspan>
        </text>
      </g>
      <g id="Graphic_11" filter="url(#Shadow)">
        <path d="M 261 396 L 423 396 C 427.97056 396 432 400.02944 432 405 L 432 477 C 432 481.97056 427.97056 486 423 486 L 261 486 C 256.02944 486 252 481.97056 252 477 L 252 405 C 252 400.02944 256.02944 396 261 396 Z" fill="url(#Obj_Gradient_4)"/>
        <path d="M 261 396 L 423 396 C 427.97056 396 432 400.02944 432 405 L 432 477 C 432 481.97056 427.97056 486 423 486 L 261 486 C 256.02944 486 252 481.97056 252 477 L 252 405 C 252 400.02944 256.02944 396 261 396 Z" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
        <text transform="translate(257 434)" fill="black">
          <tspan font-family="Courier" font-size="12" font-weight="400" fill="black" x="59.7959" y="11">UDPLink</tspan>
        </text>
      </g>
      <g id="Graphic_13" filter="url(#Shadow)">
        <path d="M 54 396 L 216 396 C 220.97056 396 225 400.02944 225 405 L 225 477 C 225 481.97056 220.97056 486 216 486 L 54 486 C 49.02944 486 45 481.97056 45 477 L 45 405 C 45 400.02944 49.02944 396 54 396 Z" fill="url(#Obj_Gradient_5)"/>
        <path d="M 54 396 L 216 396 C 220.97056 396 225 400.02944 225 405 L 225 477 C 225 481.97056 220.97056 486 216 486 L 54 486 C 49.02944 486 45 481.97056 45 477 L 45 405 C 45 400.02944 49.02944 396 54 396 Z" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
        <text transform="translate(50 434)" fill="black">
          <tspan font-family="Courier" font-size="12" font-weight="400" fill="black" x="27.390625" y="11">UDPConfiguration</tspan>
        </text>
      </g>
      <g id="Group_50">
        <g id="Graphic_14" filter="url(#Shadow)">
          <path d="M 517.5 396.5625 L 679.5 396.5625 C 684.4706 396.5625 688.5 400.59194 688.5 405.5625 L 688.5 425.8125 C 688.5 430.78306 684.4706 434.8125 679.5 434.8125 L 517.5 434.8125 C 512.52944 434.8125 508.5 430.78306 508.5 425.8125 L 508.5 405.5625 C 508.5 400.59194 512.52944 396.5625 517.5 396.5625 Z" fill="#c0ffc0"/>
          <path d="M 517.5 396.5625 L 679.5 396.5625 C 684.4706 396.5625 688.5 400.59194 688.5 405.5625 L 688.5 425.8125 C 688.5 430.78306 684.4706 434.8125 679.5 434.8125 L 517.5 434.8125 C 512.52944 434.8125 508.5 430.78306 508.5 425.8125 L 508.5 405.5625 C 508.5 400.59194 512.52944 396.5625 517.5 396.5625 Z" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
          <text transform="translate(513.5 401.5195)" fill="black">
            <tspan font-family="Helvetica Neue" font-size="12" font-weight="400" fill="black" x="68.446" y="11">Signal</tspan>
            <tspan font-family="Courier" font-size="12" font-weight="400" fill="black" x="38.192383" y="25.336">bytesReceived</tspan>
          </text>
        </g>
        <g id="Graphic_15" filter="url(#Shadow)">
          <path d="M 517.5 447.1875 L 679.5 447.1875 C 684.4706 447.1875 688.5 451.21694 688.5 456.1875 L 688.5 476.4375 C 688.5 481.40806 684.4706 485.4375 679.5 485.4375 L 517.5 485.4375 C 512.52944 485.4375 508.5 481.40806 508.5 476.4375 L 508.5 456.1875 C 508.5 451.21694 512.52944 447.1875 517.5 447.1875 Z" fill="#ffc0c0"/>
          <path d="M 517.5 447.1875 L 679.5 447.1875 C 684.4706 447.1875 688.5 451.21694 688.5 456.1875 L 688.5 476.4375 C 688.5 481.40806 684.4706 485.4375 679.5 485.4375 L 517.5 485.4375 C 512.52944 485.4375 508.5 481.40806 508.5 476.4375 L 508.5 456.1875 C 508.5 451.21694 512.52944 447.1875 517.5 447.1875 Z" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
          <text transform="translate(513.5 452.1445)" fill="black">
            <tspan font-family="Helvetica Neue" font-size="12" font-weight="400" fill="black" x="64.324" y="11">Method</tspan>
            <tspan font-family="Courier" font-size="12" font-weight="400" fill="black" x="34.591797" y="25.336">writeBytesSafe</tspan>
          </text>
        </g>
        <g id="Graphic_16" filter="url(#Shadow)">
          <path d="M 498.75013 459.5625 L 498.75013 473.0625 L 463.25 473.0625 L 463.25 479.8125 L 443.25 466.3125 L 463.25 452.8125 L 463.25 459.5625 Z" fill="url(#Obj_Gradient_6)"/>
          <path d="M 498.75013 459.5625 L 498.75013 473.0625 L 463.25 473.0625 L 463.25 479.8125 L 443.25 466.3125 L 463.25 452.8125 L 463.25 459.5625 Z" stroke="#c01b00" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
        </g>
        <g id="Graphic_17" filter="url(#Shadow)">
          <path d="M 443.25 422.4375 L 443.25 408.9375 L 478.7501 408.9375 L 478.7501 402.1875 L 498.75013 415.6875 L 478.7501 429.1875 L 478.7501 422.4375 Z" fill="url(#Obj_Gradient_7)"/>
          <path d="M 443.25 422.4375 L 443.25 408.9375 L 478.7501 408.9375 L 478.7501 402.1875 L 498.75013 415.6875 L 478.7501 429.1875 L 478.7501 422.4375 Z" stroke="#c01b00" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
        </g>
      </g>
      <g id="Line_43">
        <line x1="342" y1="252.25" x2="342" y2="274.5" marker-start="url(#Diamond_Marker)" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
      </g>
      <g id="Line_45">
        <line x1="135" y1="374.4" x2="135" y2="396" marker-start="url(#Arrow_Marker)" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
      </g>
      <g id="Line_46">
        <line x1="342" y1="374.4" x2="342" y2="396" marker-start="url(#Arrow_Marker)" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
      </g>
      <g id="Line_47">
        <line x1="225" y1="441" x2="242.75" y2="441" marker-end="url(#FilledDiamond_Marker)" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
      </g>
      <g id="Line_49">
        <line x1="225" y1="319.5" x2="242.75" y2="319.5" marker-end="url(#FilledDiamond_Marker)" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
      </g>
    </g>
  </g>
</svg>
